Communication networks have migrated from using specialized networking equipment executing on dedicated hardware, like routers, firewalls, and gateways, to software defined networks (SDNs) executing as virtualized network functions (VNF) in a cloud infrastructure. Network control is directly programmable and the underlying infrastructure is virtualized and abstracted from network services and functions. The ensemble of entities that may comprise a service—VNFs, VNF components (VFCs), virtual machines (VMs), and physical hardware—may dynamically change as the system continues to operate. The complex and dynamic nature of virtualized SDNs makes inventory management a challenging task. An inventory database may facilitate the creation of SDN applications using a modeling language to achieve model-driven networking.
Traditional graph query languages may not be designed to query a layered network inventory for discovering connectivity between nodes.
Further, the output of preexisting query languages are such that an additional query cannot be posed on the results of an original query. For example, some common query languages output a graph, while others may output a tuple of values, upon which an additional query cannot be applied. That is, preexisting query languages do not treat pathways as first-class citizens.
To facilitate network management, it may be advantageous to query a network inventory to discover specific nodes, connectivity between nodes in some layer, hosting relationships between nodes on different layers, or induced pathways. Current query languages may not allow clear expression of such queries because such queries do not treat pathways as first-class citizens of the language. That is, such query languages are not closed under composition.
Further, conventional graph databases store a single “current time” inventory. If a change is made to the nodes and edges (e.g., inserted, deleted, or changed), the relevant nodes and edges are inserted, deleted, or updated, respectively, and no record is kept of the previous state.
There is a need for a technology that facilitates temporal modeling of communication networks, including the types of network elements and the connections therebetween, in such a way that enables querying of that model to enable troubleshooting and creating of SDN applications, including queries for discovering pathways in the network, manipulating pathways, and time-travel queries.
This disclosure is directed to solving one or more of the problems in the existing technology.